/**
 * @Author: gan
 * @Description:
 * @File:  mysql
 * @Version: 1.0.0
 * @Date: 2022/4/8 2:35 下午
 */

package initialize

import (
	"gin-canteen-src/global"
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

// Mysql 初始化Mysql数据库
func Mysql() *gorm.DB {
	m := global.GloConfig.Mysql
	if m.Dbname == "" {
		return nil
	}
	mysqlConfig := mysql.Config{
		DSN:                       m.Dsn(), // DSN data source name
		DefaultStringSize:         255,     // string 类型字段的默认长度
		SkipInitializeWithVersion: false,   // 根据版本自动配置
	}
	if db, err := gorm.Open(mysql.New(mysqlConfig)); err != nil {
		return nil
	} else {
		sqlDB, _ := db.DB()
		sqlDB.SetMaxIdleConns(m.MaxIdleConns)
		sqlDB.SetMaxOpenConns(m.MaxOpenConns)
		return db
	}
}
